package com.zdkj.subway.check.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 2-2-9、ITVM票款差异协查-层级差异信息 sw_au_itvm_online_amount_hierarchy_difference
 */
@Data
public class SwAuItvmOnlineAmountHierarchyDifference {
    /**
     * 唯一标识
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Integer id;
    /**
     * TVM票款差异审核ID
     */
    Integer relationSourceId;
//    Integer relationSourceboxId;
    /**
     * 线路编码
     */
    String lineCode;
    /**
     * 车站编码
     */
    String stationCode;
    /**
     * 结算日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    Date settleTime;
    /**
     * TVM编号
     */
    String tvmOrder;
//    String tvmMoneyOrder;
//    String tvmMoneyType;
    /**
     * 类型1.结账单据 2.SC 3.LC 4ACC
     */
    String type;
    /**
     * 结账单据充值金额
     */
    BigDecimal depositAmount;
    /**
     * 结账单据售卖金额（分）
     */
    BigDecimal saleAmount;
    /**
     * 结账单据故障退款金额（分）
     */
    BigDecimal errorRefundAmount;
    /**
     * 对比类型
     */
    String compareType;
    /**
     * 对比充值金额
     */
    BigDecimal beDepositAmount;
    /**
     * 对比售卖金额（分）
     */
    BigDecimal beSaleAmount;
    /**
     * 对比故障退款金额（分）
     */
    BigDecimal beErrorRefundAmount;
    /**
     * 协查状态
     */
    String assistStatus;
    /**
     * 下发协查时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date sendAssistTime;
    /**
     * 数据类型1：结账单据现金层级差异2：分钱箱现金层级差异
     */
    String dataType;
    /**
     * 机电专业回馈差异原因（字典）
     */
    String jdReplyReason;
    /**
     * 机电专业回馈详情
     */
    String jdReplyDetail;
    /**
     * 机电回馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date jdReplyTime;
    /**
     * 清分专业回馈差异原因（字典）
     */
    String qfReplyReason;
    /**
     * 清分专业回馈状态
     */
    String qfReplyStatus;
    /**
     * 清分专业回馈详情
     */
    String qfReplyDetail;
    /**
     * 清分回馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date qfReplyTime;
    /**
     * 创建人ID
     */
    Integer creatorId;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date createTime;

    /**
     * 回馈充值金额（如对比类型为3，为SC金额，否则为LC金额）
     */
    BigDecimal replyRechargeMoney;
    /**
     * 回馈售卖金额（如对比类型为3，为SC金额，否则为LC金额）
     */
    BigDecimal replySaleMoney;
    /**
     * 回馈故障退款金额（如对比类型为3，为SC金额，否则为LC金额）
     */
    BigDecimal replyErrorReturnMoney;

    /**
     * 回馈对比充值金额（如对比类型为4，ACC金额）
     */
    BigDecimal replyComparativeRechargeMoney;
    /**
     * 回馈售卖金额（如对比类型为4，ACC金额）
     */
    BigDecimal replyComparativeSaleMoney;
    /**
     * 回馈故障退款金额（如对比类型为4，ACC金额）
     */
    BigDecimal replyComparativeErrorReturnMoney;

    /**
     * 替换状态
     */
    String replaceStatus;
//    Integer replaceSourceId;
}
